#ifndef CARCONTROL_H
#define CARCONTROL_H

#include "sendreceivecontroll.h"
#include "gpskoordinaten.h"
#include "car.h"
#include "hardinterface.h"
#include "netcontrol.h"
#include "ui_maincar.h"

class CarControl: public QObject
{
    Q_OBJECT

private:
    Car *car;
    HardInterface *hardInt;
    Ui::mainCar *ui;

    QImage *autobahn_1_1_1;
    QImage *autobahn_0_1_1;
    QImage *autobahn_0_1_2;
    QImage *autobahn_1_1_0;
    QImage *autobahn_2_1_0;
    QImage *autobahn_2_1_1;
    QImage *autobahn_1_1_2;
    QImage *autobahn_2_2_2;
    QImage *autobahn_1_2_1;
    QImage *autobahn_1_2_2;
    QImage *autobahn_2_2_1;
    QImage *autobahn_2_2_0;
    QImage *autobahn_1_2_0;
    QImage *autobahn_0_2_1;
    QImage *autobahn_0_2_2;
    QImage *autobahn_2_1_2;


public:
    NetControl *netCtl;
    QImage *spurGefahr;


    CarControl(HardInterface *hardInt, NetControl *netCtl,Ui::mainCar *ui);
    ~CarControl();

    int getCarId();
    int getCarSpur();
    int getCarWeite();
    int getCarSpeed();
    void sendeWuensche();
    void aktualisiereStatusBild();

public slots:
   void  initCar(int id, int spur, int weite);
   void  sendData();
   void  aktualisiereCarData(QByteArray carDat, QList<QByteArray> listDaten);
   void  sucheAutosInUmgebung();
   void tryChangeSpeed(int);
   void tryChangeSpur(int);

signals:
   void updateGui();
   void sendDataSig(QByteArray data);


};

#endif // CARCONTROL_H
